package org.jeecg.modules.zcgl.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

@Slf4j
public class DateFormatUtil {


    static SimpleDateFormat sf1 = new SimpleDateFormat("yy", Locale.CHINA);
    static SimpleDateFormat sf2 = new SimpleDateFormat("yy.M", Locale.CHINA);
    static SimpleDateFormat sf3 = new SimpleDateFormat("yy.M.d", Locale.CHINA);

    static SimpleDateFormat sf11 = new SimpleDateFormat("yyyy", Locale.CHINA);
    static SimpleDateFormat sf22 = new SimpleDateFormat("yyyy.M", Locale.CHINA);
    static SimpleDateFormat sf33 = new SimpleDateFormat("yyyy.M.d", Locale.CHINA);
    static List<SimpleDateFormat> simpleDateFormatList = new ArrayList<SimpleDateFormat>() {{
        add(sf33);
        add(sf3);
        add(sf22);
        add(sf2);
        add(sf11);
        add(sf1);
    }};

    public static Date getDate(String dateStr) {
        if (StringUtils.isBlank(dateStr)){
            return null;
        }
//        log.info("dateStr: " + dateStr);
        Date date = null;
        int size = simpleDateFormatList.size();
        for (int i = 0; i < size; i++) {
            try {
                date = simpleDateFormatList.get(i).parse(dateStr);
                break;
            } catch (Exception e) {
//                e.printStackTrace();
            }
        }
//        log.info("date: " + date);
        return date;
    }
}
